// AbstractGLUTWindow.cpp

#include "AbstractGLUTWindow.h"

namespace Voltron
{
	
	AbstractGLUTWindow::AbstractGLUTWindow()
	{
	}

	AbstractGLUTWindow::AbstractGLUTWindow(string title, int windowXpos, int windowYpos, int windowHeight, int windowWidth)
	{
		_title = title;
		_windowXpos = windowXpos;
		_windowYpos = windowYpos;
		_windowHeight = windowHeight;
		_windowWidth = windowWidth;
		AbstractGLUTWindow();
	}
	
	AbstractGLUTWindow::~AbstractGLUTWindow()
	{
	}
				
	GLuint AbstractGLUTWindow::getID(void)
	{
	   return( _ID );
	}

	void AbstractGLUTWindow::setID(GLuint ID)
	{
	   _ID = ID;
	}
	
	void AbstractGLUTWindow::initWindow()
	{
	}


	void AbstractGLUTWindow::onReshape(int windowWidth, int windowHeight)
	{
	// virtual. must implement in derived classes
	}

	void AbstractGLUTWindow::onDisplay(void)
	{
	// virtual. must implement in derived classes
	}

	void AbstractGLUTWindow::onKeyboard(unsigned char key, int x, int y)
	{
	// virtual. must implement in derived classes
	}

	void AbstractGLUTWindow::onSpecial(int key, int x, int y)
	{
	// virtual. must implement in derived classes
	}

	void AbstractGLUTWindow::onMouse(int button, int state, int x, int y)
	{
	// virtual. must implement in derived classes
	}

	void AbstractGLUTWindow::onMotion(int x, int y)
	{
	// virtual. must implement in derived classes
	}

}
